Telegram Group & Telegram Channel
Python dasturlash maktabi
Funksiyalar (vazifalar) Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin. Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod…
Ⓜ️ lambda funksiyasi

Python lambdalari kichik, nomsiz funktsiyalar bo'lib, oddiy Python funksiyalariga qaraganda imkoniyatlari kam, ammo ixchamroq sintaksisga ega.Lambda funksiyalari istalgan miqdordagi argumentlarga ega bo'lishi mumkin, ammo funksiya faqat bitta ifodani qaytaradi.


def pythonuz(x):
return x

pythonuz nomli oddiy funksiya x argumentini o'ziga oldi va uni qaytardi.Shu funksiyani lambda ko'rinishi

lambda x: x

3 ta argumentdan iborat lambda funksiyasiga namuna:
x = lambda a, b, c: a * b + c
print(x(4, 5, 6))
26

Argumentga 1 sonini qo'shuvchi lambda funksiyani 2 xil ko'rinishda ishga tushirib ko'ramiz.
1) O'zgaruvchiga lambda berish orqa
li
pythonuz = lambda x: x + 1
print(pythonuz(3))
4

2) Funksiya va uning argumentini alohida qavsga olish orqali
print((lambda x: x + 1)(3))
4

Nomsiz funksiyalar o'rni oddiy funksiyalar ichida ishlatilganda seziladi.


def oddiy(n):
return lambda a: a * n


nomsiz = oddiy(2)
print(nomsiz(11))

22


def myfunc(n):
return lambda a : a * n


mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))

22
33


Lambda ichida shartlarni ham tekshirishimiz mumkin.Sonlarni juft yoki toq ekanini aniqlovchi lambda funksiyasini yozamiz.
print((lambda x: (x % 2 and 'toq son' or 'juft son'))(4))
juft son


Quyida 1, 2 va 3 sonlar yig'indisini hisoblovchi lambda funksiyalarni har xil uslubda yozib ishga tushiramiz.
(lambda x, y, z: x + y + z)(1, 2, 3)
6
(lambda x, y, z=3: x + y + z)(1, 2)
6
(lambda x, y, z=3: x + y + z)(1, y=2)
6
(lambda *args: sum(args))(1,2,3)
6
(lambda **kwargs: sum(kwargs.values()))(one=1, two=2, three=3)
6
(lambda x, *, y=0, z=0: x + y + z)(1, y=2, z=3)
6

@pythonuz



tg-me.com/pythonuz/556
Create:
Last Update:

Ⓜ️ lambda funksiyasi

Python lambdalari kichik, nomsiz funktsiyalar bo'lib, oddiy Python funksiyalariga qaraganda imkoniyatlari kam, ammo ixchamroq sintaksisga ega.Lambda funksiyalari istalgan miqdordagi argumentlarga ega bo'lishi mumkin, ammo funksiya faqat bitta ifodani qaytaradi.


def pythonuz(x):
return x

pythonuz nomli oddiy funksiya x argumentini o'ziga oldi va uni qaytardi.Shu funksiyani lambda ko'rinishi

lambda x: x

3 ta argumentdan iborat lambda funksiyasiga namuna:
x = lambda a, b, c: a * b + c
print(x(4, 5, 6))
26

Argumentga 1 sonini qo'shuvchi lambda funksiyani 2 xil ko'rinishda ishga tushirib ko'ramiz.
1) O'zgaruvchiga lambda berish orqa
li
pythonuz = lambda x: x + 1
print(pythonuz(3))
4

2) Funksiya va uning argumentini alohida qavsga olish orqali
print((lambda x: x + 1)(3))
4

Nomsiz funksiyalar o'rni oddiy funksiyalar ichida ishlatilganda seziladi.


def oddiy(n):
return lambda a: a * n


nomsiz = oddiy(2)
print(nomsiz(11))

22


def myfunc(n):
return lambda a : a * n


mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))

22
33


Lambda ichida shartlarni ham tekshirishimiz mumkin.Sonlarni juft yoki toq ekanini aniqlovchi lambda funksiyasini yozamiz.
print((lambda x: (x % 2 and 'toq son' or 'juft son'))(4))
juft son


Quyida 1, 2 va 3 sonlar yig'indisini hisoblovchi lambda funksiyalarni har xil uslubda yozib ishga tushiramiz.
(lambda x, y, z: x + y + z)(1, 2, 3)
6
(lambda x, y, z=3: x + y + z)(1, 2)
6
(lambda x, y, z=3: x + y + z)(1, y=2)
6
(lambda *args: sum(args))(1,2,3)
6
(lambda **kwargs: sum(kwargs.values()))(one=1, two=2, three=3)
6
(lambda x, *, y=0, z=0: x + y + z)(1, y=2, z=3)
6

@pythonuz

BY Python dasturlash maktabi




Share with your friend now:
tg-me.com/pythonuz/556

View MORE
Open in Telegram


Python dasturlash maktabi Telegram | DID YOU KNOW?

Date: |

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

Among the actives, Ascendas REIT sank 0.64 percent, while CapitaLand Integrated Commercial Trust plummeted 1.42 percent, City Developments plunged 1.12 percent, Dairy Farm International tumbled 0.86 percent, DBS Group skidded 0.68 percent, Genting Singapore retreated 0.67 percent, Hongkong Land climbed 1.30 percent, Mapletree Commercial Trust lost 0.47 percent, Mapletree Logistics Trust tanked 0.95 percent, Oversea-Chinese Banking Corporation dropped 0.61 percent, SATS rose 0.24 percent, SembCorp Industries shed 0.54 percent, Singapore Airlines surrendered 0.79 percent, Singapore Exchange slid 0.30 percent, Singapore Press Holdings declined 1.03 percent, Singapore Technologies Engineering dipped 0.26 percent, SingTel advanced 0.81 percent, United Overseas Bank fell 0.39 percent, Wilmar International eased 0.24 percent, Yangzijiang Shipbuilding jumped 1.42 percent and Keppel Corp, Thai Beverage, CapitaLand and Comfort DelGro were unchanged.

Python dasturlash maktabi from ar


Telegram Python dasturlash maktabi
FROM USA